iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
自我挑戰組

Pandas|資料前處理工具 系列 第 12

Day 12|觀察資料中的缺失值

  • 分享至 

  • xImage
  •  

  資料在產生或蒐集時可能因為各種原因出現缺失值(Missing Value),導致資料集中缺少某些觀測值或該值無法表示或測量,因此,處理缺失值是數據分析中很重要的前置作業,本篇將和大家分享觀察缺失值的幾種方式,內容包含:

  1. 介紹缺失值
  2. 檢查缺失值
  3. 計算缺失值數量
  4. 檢視特定缺失值資料

■ 簡介|常見的缺失值

  1. NaN(Not a Number):
    常見於數值運算時,表示一個非數值的缺失值,Pandas 以浮點數的方式處理。
  2. None:
    可用在任何資料型態,但常見於物件運算時,表示為一個空值,Pandas 以 Python 物件處理。

■ 案例

  1. 基本資料
    https://ithelp.ithome.com.tw/upload/images/20230927/20162238TV33ADGHkO.jpg

  2. 程式碼

import pandas as pd
import numpy as np
data = {'name':['Alan','Joseph','Wennie','Ruby','Chris','Tanya'],
        'age':[18,23,19,15,30,26],
        'weight':[65,80,np.nan,np.nan,88,60],
        'height':[168,182,161,np.nan,172,163]}
df = pd.DataFrame(data)

■ 方法|檢查缺失值

1. 使用 isnull()isna() 方法判斷,當返回的布林值結果為 True 時,表示為缺失值。
舉例:檢查案例中的資料是否具有缺失值

print(df.isnull())  # 檢查缺失值
print('--------------------------------')
print(df.isna())    # 檢查缺失值

輸出結果:
https://ithelp.ithome.com.tw/upload/images/20230927/20162238TfbjBP4qf0.png

2. 使用 notnull() 方法判斷,當返回的布林值結果為 False 時,表示為缺失值。
舉例:檢查 weight 欄位中是否有缺失值

print(df['weight'].notnull())

輸出結果:
https://ithelp.ithome.com.tw/upload/images/20230927/20162238QLneLFJJag.png

以上兩種方法都可以協助你檢查資料集中的缺失值,自行決定習慣用法即可!

■ 方法|計算缺失值數量

  當資料集中有許多缺失值時,可使用 isnull() 搭配 sum() 並指定參數 axis 計算各行各列的缺失值數量。 axis 預設為 0,取得各欄位的缺失值數量;axis 為 1 ,則取各行的缺失值數量

舉例:分別計算案例中各欄位和各筆資料的缺失值數量

print(df.isnull().sum())        # 計算各欄位的缺失值數量
print('--------------------------------')
print(df.isnull().sum(axis=1))  # 計算各筆資料的缺失值數量

輸出結果:
https://ithelp.ithome.com.tw/upload/images/20230927/20162238HNBmkmQ0nj.png

■ 方法|檢視特定缺失值資料

使用布林索引(Boolean indexing)的方法篩選特定缺失值資料。
舉例:檢視 weight 欄位中兩筆包含缺失值的資料

print(df[df['weight'].isnull()])

輸出結果:
https://ithelp.ithome.com.tw/upload/images/20230927/20162238MdUDJExDME.png

■ 結語

  以上方法可以協助你快速找出缺失值,並計算與羅列具有缺失值的資料,如果有任何不理解、錯誤或其他方法想分享的話,歡迎留言給我!喜歡的話,也歡迎按讚訂閱!下一篇文章將和大家分享如何透過資料清理處理缺失值!我是 Eva,一位正在努力跨進資料科學領域的女子!我們明天見!Bye Bye~
【本篇文章將同步更新於個人的 Medium,期待與您的相遇!】


上一篇
Day 11|資料快速排序操作
下一篇
Day 13|資料清理-刪除篇
系列文
Pandas|資料前處理工具 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言